package com.example.common.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Objects;

/**
 * @author ：Zhengyu Wang
 * @date ：Created in 2023/4/12 22:16
 * @description：日期处理函数
 * @modified By：
 * @version: $
 */

public final class HandleDate {

    private HandleDate() {
    }

    static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    static Calendar calendar = Calendar.getInstance();

    //    处理提前日期
    public static Date handleBefore(String dateStr, Integer dateBefore, String type) {
        try {
            Date dateParse = dateFormat.parse(dateStr);

            calendar.setTime(dateParse);
            if ("day".equals(type)) {
                calendar.add(Calendar.DATE, -1 * dateBefore);
            } else if ("month".equals(type)) {
                calendar.add(Calendar.MONTH, -1 * dateBefore);
            } else if ("year".equals(type)) {
                calendar.add(Calendar.YEAR, -1 * dateBefore);
            }
            return calendar.getTime();
        } catch (ParseException e) {
            System.out.println("日期格式化异常！");
            throw new RuntimeException(e);
        }

    }

//    处理
}
